"""
集合和字典的底层原理
1. 首先检查对象的哈希码，如果哈希码不同就证明是两个不同的对象，根据哈希码进行存储
2. 如果两个对象的哈希码相同，还不能判定是不是相同的对象，还需要继续做相等性判断，
如果相等性判断的结果为True，那么就认定两个对象是相同的，不再进行存储，否则就判定为
两个不同的对象，使用开放地址法（再次探测哈希槽）为哈希码冲突的对象分配存储空间
"""
from example02 import Person

p1 = Person('Wang', 18)
p2 = Person('Lee', 20)
p3 = Person('Wang', 18)
p4 = Person('Lee', 20)
p5 = Person('Wang', 19)
persons = {p1, p2, p3, p4, p5}
print(id(p1), id(p2), id(p3), id(p4), id(p5))
print(len(persons))
